more interrupt functions added