fixing errors && more interface changes