different approch to sin function