inital submodule structures
added submodule functions and Make rule
implemented most submodule functions