@wip write initial spec