Initial revision with all three devices working