Organized much more properly; renamed sources appropriately.