added initial interface concept