add functions and eth interfaces