going to refactor seriously

Change-Id: I1b7ac3a846e3a9a85696f8e8bb6a02c6bfab1415
importing classes

Change-Id: Ic45955ac07afa54e39729e884cdaa6f4afb72273
importing classes

Change-Id: I91264fc93affa3496d0d8f7a3c3d3a8ad9a7abe2
fixing classes

Change-Id: I0f6244b67b3969d23633e0d8e1facfe4f9b2c389
cleaning and refactoring

Change-Id: I57ca486d182e82eeac9a15db42f6d462d46122a0