METHODS: add ! and ? to method signatures

* methods returning boolean values are trailed with ?
* methods returning a obj reference are trailed with !
  the returned obj can be modified