random bits of what I followed from various tutorials and webcasts