updated with links to modern alternatives