Marking functions for abstraction
Updated TODO