rename CM monad to a more meaningfull name
add single insert function