added a few extra functions