Added implements comparable. INCOMPLETE. Doesn't work.