shape validation