Rework
Reworked basic structure do be device indipendent