create design documents and refactor