updated some logic and help