initial implementation of all methods
draft of test main method