several fixes
fixed visible/hidden functionality
fixed jsdocs
refactored behavior