added init functionality and cleaned up the method calling