initial implementation and test env