about to revamp shapes so committing in case it goes to shit