final code -pending testing