added basic set! functionality
Refactoring + basic reader