extract interface, remove the static shit