this was copied from previous work on github in bistarter-old repo