filling in basic functionality, starting to to work on subscription