adding functionlaity