Initial import from my work done during college in 2001.