cleaned up with counter