skeleton
basic validation logic