add initial positions in a method, and refactoring some data