various changes in the interface