delete isValid(), add constructor