adding functionallity