abilities: initial implementation