optimization of interface