I will rebase my PR and make changes once this one has been merged