added filters for project and context
added equals() and hashCode()
refactored for better readability
removed unnecessary explicite builder method from todo
added basic file reading functionality