compiler gets a little further now, but not nice at all