reorganize some functions