problem with self and this fixed