currently working on this & heavily inspired by @mattymorgs