better structure, and update readme