specs square + rectangle
better code.. and stuffs