better handling on push classes