added class + optimized