The problem is caused from you "redeclaring" your application module in all your separate files.
This is what the app module declaration (not sure declaration is the right term) looks like:
angular.module('myApp', ).controller( //...
This is what assignment (not sure if assignment is the right term either) to your application module looks like:
Notice the lack of square brackets.
So, the former version, one with the square brackets, should only be used once, usually in your
main.js. All other associated files — controllers, directives, filters … — should use the latter version, the one without the square brackets.
I hope that makes sense. Cheers!