initial release with basic functions