cleaned up module