the major functionalities seem completed...