working version for today. will not edit until later tonight