Remove TODOs
Add abstract