Initial commit

bulk of module is written