full working, i hope