major fixes. Still under development
adding as is