recheck & tidied up a bit