tidied up how fragments are given arguments