check some boundary conditions
way more better testing