reorganize the code a little better, update README