I can split this into separate pull request if that is better?