improving the interface