really ugly schematic, oh well.