my programatic learnings here to make a seasoned programmer's eyes bleed, sorry..