Initial implementation of functional methods