adding final functions