cleaned up extra functions