Initial commit of modules and functional core