changed names and added new interfaces