fix module name
add Ideal monad