need to finish remove, write setKey, and debug/test