added a couple of getters + some applicative-related refactoring