Input checks and __str__ and __repr__ overwrites