add type specifications