FIX: design bugs