Added position enum and a factory class to set it