implement 'new' and 'delete'