Added Shape Definition for a more variable shape, takes Array. Don't know if this is the best way to do it, but I like it.