added type spec