Breaking things out and completing initial functionality