fix interface & minor cleanup