attributes and defaults, type fixes