Incomplete, but good enough for now.  Got the concepts.