bunch of reusabale codes