added type concept