add ability to change size while maintaining the center