code for test and personal use