add realisation of TPNumber but its not exactly correct