polishing the functionality