progress
Nearly working