Reorganise code a bit and implement instance builder