logic further additions