self code removed