enhancement and implementation of interface