minor changes

seriously need to read up on factory pattern