Addressed all from #19. please review