ver 2
- improved architecture
- minor bug fixes
- memory management bug fixes