ZER - refactored almost everything

This solution needs to be cleaned up