basic functionality implemented. Still in progress.