fixed angle issues and added nearEqual()