added boolean
added compose