Implemented four sizes (default, small, large and xlarge)