add debug for overload init can change to one func