first production version with some tests