Plain allocate functionality
refactoring
Global refactoring
TODO: file inp outp wrapper & error handlings
working version of input output without error handling
Some exceptions
Final version of program. Not tested