Added more argument validation to various public interface methods