major type routine / syntax overhaul