fixs and logic