Added updated
Added some interfaces and implemented a few of the easier things