mostly reverted to previous functionality