commented unnecessary functions