test logic. ready for proof-read