First demo. Make basic functionalities work well.