readded some deleted func