General additions to functionality