working, needs refactor/styling
regex fu