implementation of some shapes