Implemented Nick's contruct_Q method, but not working yet