Implemented everything else
Works fine