implemented hidden - still some bugs though