visual reworking and some bugs