classes to improve legibility
improvements to reduce the saving
removes mouse binding
fixes duplication
adds clone attributes method
improves saving