Understanding Prime Numbers Better And Code A Decent Primality Test