initial commit, works with basic testcase