updated methods
updated and cleaned interfaces