introduce validation