refactors Position initialisation to get rid of verbose if-else