add ability to get current cursor position from terminal and add colour output handling