use more coffee abilities, refactor