close #28 after successful heavy refactoring
close #28 after successful heavy refactoring