Initial version which has basic features