almost working
small clean up
module working