types complete. started confusing work on defaults and refs