Total refactor to work nicer at different sizes.