add a more realistic square generator