start of nice little re-work