Initial version with interactive interface