changed IPosition to use a property