functionality and installation methods