Thanks to @secretdataz and @aleos89 for their help. Thanks to @Haikenz and @admkakaroto for testing. Thanks to @Daegaladh for his ideas.