basic software implemented, ready for testing