added return false if data check is wrong