initial version with some stuff working