adds functionality