initial version

basic skeleton, not completely working