more updates
nearly there functionally