Initial entry. Code not 100% functional.