furhter implementation

Do not merge yet, it still has coding standard violations.