attempts at custom validation