refactor everything and prepare release 0.1.0