implemented quite a number of things...