Abstracs data type